package com.ruoyi.common.core.domain.entity.wechat;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * 巡检问题
 *
 * @author jiexiang.sun/Jason
 * @version 1.0.0
 * @create 2022-03-09 21:41
 **/
@Data
@TableName("wechat_inspection_problem")
public class WechatInspectionProblem implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键编号
     */
    @TableId(type = IdType.INPUT)
    private Long id;

    /**
     * 省编号code
     */
    private Integer provinceCode;

    /**
     * 市编号code
     */
    private Integer cityCode;

    /**
     * 区县编号code
     */
    private Integer areaCode;

    /**
     * 街道编号code
     */
    private Integer streetCode;

    /**
     * 详细地址
     */
    private String address;

    /**
     * 地址的额外补充说明
     */
    private String addressExplain;

    /**
     * 经度
     */
    private Double longitude;

    /**
     * 纬度
     */
    private Double latitude;

    /**
     * 铁路桩位
     */
    private String pileLocation;

    /**
     * 方向：1=上行、2=下行
     */
    private Short direction;

    /**
     * 距离（单位：米）
     */
    private Integer distance;

    /**
     * 问题类别code，字典值
     */
    private String problemCategory;

    /**
     * 问题内容
     */
    private String problemContent;

    /**
     * 问题照片，多个照片以逗号分隔
     */
    private String problemPhoto;

    /**
     * 问题依据
     */
    private String according;

    /**
     * 问题上报时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date reportTime;

    /**
     * 问题上报用户编号id
     */
    private Long reportUserId;

    /**
     * 问题整改状态：0=未整改、1=已整改、2=整改驳回
     */
    private Short rectificationStatus;

    /**
     * 问题整改意见
     */
    private String rectificationAdvice;

    /**
     * 上报人角色编号
     */
    private Long reportUserRoleId;

    /**
     * 上报人单位部门编号
     */
    private Long reportUserDeptId;

    /**
     * 数据状态：
     * 0=正常
     * 1=已删除
     */
    private Short status;

    /**
     * 原始问题ID，如果问题是复检问题，则该字段值保存的是原始问题ID
     */
    private Long originProblemId;

    /**
     * 引用的父问题ID链表，如果问题是复检问题，则该字段值保存的是递归父问题的ID
     */
    private String linkedProblemId;
}
